package com.astoolkit.workflow
{
	import mx.rpc.Fault;

	public interface IWorkflowDelegate
	{
		function get context() : IWorkflowContext;
		function set context( inContext : IWorkflowContext ) : void;
		function onComplete( inTask : IWorkflowTask ) : void;
		function onPrepare( inTask : IWorkflowTask ) : void;
		function onBegin( inTask : IWorkflowTask ) : void;
		function onSuspend( inTask : IWorkflowTask ) : void;
		function onResume( inTask : IWorkflowTask ) : void;
		function onProgress( inTask : IWorkflowTask ) : void;
		function onFault( inTask : IWorkflowTask, inMessage : String, inFault : Fault = null) : void;
		function onWarning( inTask : IWorkflowTask, inMessage : String, inFault : Fault = null  ) : void;
		function onAbort( inTask : IWorkflowTask, inMessage : String, inFault : Fault = null) : void;
	}
}